package com.example.taikulaapp.util;

import android.text.TextUtils;

import com.example.taikulaapp.db.City;
import com.example.taikulaapp.db.County;
import com.example.taikulaapp.db.Province;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class Utility {
    // 处理服务器返回的数据 省级 , 存储到数据库中
    public static boolean handleProvinceResponse(String response){
        // 传入参数是服务器响应的值
        if (!TextUtils.isEmpty(response)){
            // 判断数据是否是空,空的话直接进行处理,不空的话进行其他处理
            try {
                //进行数据的处理
                JSONArray allProvinces = new JSONArray(response);
                //将省的数据一条一条的存储到数据表中,进行遍历
                for (int i=0;i<allProvinces.length();i++){
                    JSONObject provinceObject = allProvinces.getJSONObject(i);
                    Province province = new Province();


                    province.setProvinceId(provinceObject.getInt("id"));
                    province.setProvinceName(provinceObject.getString("name"));

                    // 执行save()语句标识我们将要存储数据到数据库中
                    province.save();
                }

            }catch (JSONException e){
                // 如果发生异常就进行异常的输出
                e.printStackTrace();
            }

            return true;
        }
        return false;
    }

    // 处理服务器返回的数据 市级,然后存入数据库
    public static boolean handleCityResponse(String response,int provinceId){
        // response 响应 , 判断的非空处理
        if (!TextUtils.isEmpty(response)){
            try {
                // 获取到所有的市级数据
                JSONArray allCities = new JSONArray(response);
                // 遍历所有的市级数据并且存储到数据库中
                for (int i=0;i<allCities.length();i++){
                    JSONObject cityObject = allCities.getJSONObject(i);
                    City city = new City();

                    city.setCityId(cityObject.getInt("id"));
                    city.setCityName(cityObject.getString("name"));
                    city.setProvinceId(provinceId);

                    city.save();
                }
            }catch (JSONException e){
                e.printStackTrace();
            }

            return true;
        }

        return false;
    }

    // 处理服务器返回的数据 县级
    public static boolean handleCountyResponse(String response,int cityId){
        if (!TextUtils.isEmpty(response)){
            try{
               JSONArray allCounties = new JSONArray(response);
               for (int i=0;i<allCounties.length();i++){
                   JSONObject countyObject = allCounties.getJSONObject(i);
                   County county = new County();

                   county.setCountyName(countyObject.getString("name"));
                   county.setWeatherId(countyObject.getString("weather_id"));
                   county.setCityId(cityId);

                   county.save();
               }
            }catch (JSONException e){
                e.printStackTrace();
            }

            return true;
        }
        return false;
    }

}
